package com.vizhuo.client.business.match.goods.vo;

import java.io.Serializable;

import com.vizhuo.client.base.AbstractVo;
import com.vizhuo.client.business.meb.mebacc.vo.MebConsignerVo;
import com.vizhuo.client.business.meb.mebacc.vo.MebInfoVo;

/**
 * 
 * @ClassName: NeedCarVo
 * @Description: 订单管理-要车记录(发货记录)model
 * @author TANDP
 * @date 2015-7-9 下午1:56:12
 * 
 */
public class NeedCarVo extends AbstractVo implements Serializable {

    /**
     * 货源id/要车信息id
     */
    private Long id;

    /**
     * 货源单号
     */
    private String goodsNo;

    private String startCity;

    /**
     * 
     */
    private String startCounty;

    /**
     * 开始地址组装(地市-区县)
     */
    private String startAreaAddress;

    private String endCity;

    /**
     * 结束地址组装(地市-区县)
     */
    private String endCounty;

    /**
     * 
     */
    private String endAreaAddress;

    /**
     * 发布日期
     */
    private String releaseDate;

    /**
     * 用车时间
     */
    private String needCarTime;

    /**
     * 抢单人数(待确认页面)
     * 
     */
    private int orderMakeCount;

    /**
     * 司机账号id(待评价页面)
     */
    private Integer driverAccountId;

    /**
     * 司机姓名(待评价页面)
     */
    private String driverName;

    /**
     * 车牌号(待评价页面)
     */
    private String carNo;

    /**
     * 司机等级(待评价页面)
     */
    private String driverLevel;

    /**
     * 身份证认证,1:通过,0:不通过(待评价页面)
     */
    private String idcarCheck;

    /**
     * 车辆认证,1:通过,0:不通过(待评价页面)
     */
    private String carCheck;

    /**
     * 经验值
     */
    private int accountExp;

    /**
     * 货物种类CODE,eg:1
     */
    private String goodsSpecies;

    /**
     * 货物重量,eg:蔬菜
     */
    private String goodsSpeciesName;

    /**
     * 货物类型CODE,eg:1
     */
    private String goodsType;

    /**
     * 货物重量,eg:5.5
     */
    private double goodsLoad;

    /**
     * 货物提交,eg:12
     */
    private double goodsSize;

    private int goodsPiece;// 货物件数

    private String needCarType;

    /**
     * 车型名称,平板车
     */
    private String carTypeName;

    /**
     * 车长,1.8
     */
    private String needCarLength;

    /**
     * 收货人姓名
     */
    private String receiptName;

    /**
     * 收货人电话
     */
    private String receiptPhone;

    /**
     * 收货人地址
     */
    private String receiptAddress;

    /**
     * 状态-文本
     */
    private String stateName;

    /**
     * 货源状态(客户端不用传)(1-9)
     */
    private String state;

    private MebConsignerVo mebConsignerVo;// 查看发货人详情

    private MebInfoVo mebinfovo;// 查看物流公司详情

    // 发货人id
    private int accountId;

    // 承运人id
    private int carrierAccountId;

    private String consignerAccount;// 发货人账号

    private String consignerAccountType;// 发货人账号类型

    public String getConsignerAccount() {
        return consignerAccount;
    }

    public void setConsignerAccount(String consignerAccount) {
        this.consignerAccount = consignerAccount;
    }

    public String getConsignerAccountType() {
        return consignerAccountType;
    }

    public void setConsignerAccountType(String consignerAccountType) {
        this.consignerAccountType = consignerAccountType;
    }

    public int getAccountId() {
        return accountId;
    }

    public void setAccountId(int accountId) {
        this.accountId = accountId;
    }

    public int getCarrierAccountId() {
        return carrierAccountId;
    }

    public void setCarrierAccountId(int carrierAccountId) {
        this.carrierAccountId = carrierAccountId;
    }

    public MebInfoVo getMebinfovo() {
        return mebinfovo;
    }

    public void setMebinfovo(MebInfoVo mebinfovo) {
        this.mebinfovo = mebinfovo;
    }

    public MebConsignerVo getMebConsignerVo() {
        return mebConsignerVo;
    }

    public void setMebConsignerVo(MebConsignerVo mebConsignerVo) {
        this.mebConsignerVo = mebConsignerVo;
    }

    public String getState() {
        return state;
    }

    public void setState(String state) {
        this.state = state;
    }

    public int getGoodsPiece() {
        return goodsPiece;
    }

    public void setGoodsPiece(int goodsPiece) {
        this.goodsPiece = goodsPiece;
    }

    public String getReceiptAddress() {
        return receiptAddress;
    }

    public void setReceiptAddress(String receiptAddress) {
        this.receiptAddress = receiptAddress;
    }

    /**
     * 成功推送数量
     */
    private int pushSuccessCount;

    public int getPushSuccessCount() {
        return pushSuccessCount;
    }

    public void setPushSuccessCount(int pushSuccessCount) {
        this.pushSuccessCount = pushSuccessCount;
    }

    public String getStateName() {
        return stateName;
    }

    public void setStateName(String stateName) {
        this.stateName = stateName;
    }

    /**
     * 司机等级(待评价页面)
     * 
     * @return
     */
    public String getDriverLevel() {
        return driverLevel;
    }

    /**
     * 司机等级(待评价页面)
     * 
     * @param driverLevel
     */
    public void setDriverLevel(String driverLevel) {
        this.driverLevel = driverLevel;
    }

    /**
     * 身份证认证,1:通过,0:不通过(待评价页面)
     * 
     * @return
     */
    public String getIdcarCheck() {
        return idcarCheck;
    }

    /**
     * 身份证认证,1:通过,0:不通过(待评价页面)
     * 
     * @param idcarCheck
     */
    public void setIdcarCheck(String idcarCheck) {
        this.idcarCheck = idcarCheck;
    }

    /**
     * 车辆认证,1:通过,0:不通过(待评价页面)
     * 
     * @return
     */
    public String getCarCheck() {
        return carCheck;
    }

    /**
     * 车辆认证,1:通过,0:不通过(待评价页面)
     * 
     * @param carCheck
     */
    public void setCarCheck(String carCheck) {
        this.carCheck = carCheck;
    }

    /**
     * 司机账号id(待评价页面)
     * 
     * @return
     */
    public Integer getDriverAccountId() {
        return driverAccountId;
    }

    /**
     * 司机账号id(待评价页面)
     * 
     * @param driverAccountId
     */
    public void setDriverAccountId(Integer driverAccountId) {
        this.driverAccountId = driverAccountId;
    }

    /**
     * 司机姓名(待评价页面)
     * 
     * @return
     */
    public String getDriverName() {
        return driverName;
    }

    /**
     * 司机姓名(待评价页面)
     * 
     * @param driverName
     */
    public void setDriverName(String driverName) {
        this.driverName = driverName;
    }

    /**
     * 车牌号(待评价页面)
     * 
     * @return
     */
    public String getCarNo() {
        return carNo;
    }

    /**
     * 车牌号(待评价页面)
     * 
     * @param carNo
     */
    public void setCarNo(String carNo) {
        this.carNo = carNo;
    }

    /**
     * 抢单人数(待确认页面)
     * 
     * @return
     */
    public int getOrderMakeCount() {
        return orderMakeCount;
    }

    /**
     * 抢单人数(待确认页面)
     * 
     * @param orderMakeCount
     */
    public void setOrderMakeCount(int orderMakeCount) {
        this.orderMakeCount = orderMakeCount;
    }

    /**
     * 发布日期
     * 
     * @return
     */
    public String getReleaseDate() {
        return releaseDate;
    }

    /**
     * 发布日期
     * 
     * @param releaseDate
     */
    public void setReleaseDate(String releaseDate) {
        this.releaseDate = releaseDate;
    }

    /**
     * 货源id/要车信息id
     * 
     * @return
     */
    public Long getId() {
        return id;
    }

    /**
     * 货源id/要车信息id
     * 
     * @param id
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * 运输开始位置(省 市 区)拼接的中文
     * 
     * @return
     */
    public String getStartCounty() {
        return startCounty;
    }

    /**
     * 运输开始位置(省 市 区)拼接的中文
     * 
     * @param startCounty
     */
    public void setStartCounty(String startCounty) {
        this.startCounty = startCounty;
    }

    /**
     * 
     * 
     * @return
     */
    public String getEndCounty() {
        return endCounty;
    }

    /**
     * 
     * 
     * @param endCounty
     */
    public void setEndCounty(String endCounty) {
        this.endCounty = endCounty;
    }

    /**
     * 货源单号
     * 
     * @return
     */
    public String getGoodsNo() {
        return goodsNo;
    }

    /**
     * 货源单号
     * 
     * @param goodsNo
     */
    public void setGoodsNo(String goodsNo) {
        this.goodsNo = goodsNo;
    }

    /**
     * 用车时间
     * 
     * @return
     */
    public String getNeedCarTime() {
        return needCarTime;
    }

    /**
     * 用车时间
     * 
     * @param needCarTime
     */
    public void setNeedCarTime(String needCarTime) {
        this.needCarTime = needCarTime;
    }

    /**
     * 经验值
     * 
     * @param accountExp
     */
    public int getAccountExp() {
        return accountExp;
    }

    /**
     * 经验值
     * 
     * @param accountExp
     */
    public void setAccountExp(int accountExp) {
        this.accountExp = accountExp;
    }

    public void setGoodsSpecies(String goodsSpecies) {
        this.goodsSpecies = goodsSpecies;
    }

    public void setGoodsSpeciesName(String goodsSpeciesName) {
        this.goodsSpeciesName = goodsSpeciesName;
    }

    public void setGoodsType(String goodsType) {
        this.goodsType = goodsType;
    }

    public void setGoodsLoad(double goodsLoad) {
        this.goodsLoad = goodsLoad;
    }

    public void setGoodsSize(double goodsSize) {
        this.goodsSize = goodsSize;
    }

    public void setCarTypeName(String carTypeName) {
        this.carTypeName = carTypeName;
    }

    public void setNeedCarLength(String needCarLength) {
        this.needCarLength = needCarLength;
    }

    /**
     * 蔬菜 5吨
     * 
     * @return
     */
    public String getGoodsTypeLabel() {
        String goodsTypeLabel = this.goodsSpeciesName == null ? "" : this.getGoodsSpeciesName();
        String goodsLoadStr = "";
        String goodsSizeStr = "";
        String goodsPieceStr = "";
        if (this.getGoodsLoad() == (int) this.getGoodsLoad()) {
            goodsLoadStr = String.valueOf((int) this.getGoodsLoad());
        } else {
            goodsLoadStr = String.valueOf(this.getGoodsLoad());
        }
        if (this.getGoodsSize() == (int) this.getGoodsSize()) {
            goodsSizeStr = String.valueOf((int) this.getGoodsSize());
        } else {
            goodsSizeStr = String.valueOf(this.getGoodsSize());
        }
        if (this.goodsPiece == (int) this.goodsPiece) {
            goodsPieceStr = String.valueOf((int) this.goodsPiece);
        } else {
            goodsPieceStr = String.valueOf(this.goodsPiece);
        }

        if (!"0".equals(goodsLoadStr)) {
            goodsTypeLabel += " " + goodsLoadStr + "吨";
        }
        if (!"0".equals(goodsSizeStr)) {
            goodsTypeLabel += " " + goodsSizeStr + "立方";
        }
        if (!"0".equals(goodsPieceStr)) {
            goodsTypeLabel += " " + goodsPieceStr + "件";
        }

        return goodsTypeLabel;
    }

    /**
     * 车长 没有带单位
     * 
     * @return
     */
    public String getNeedCarLength() {
        return needCarLength == null ? "0" : needCarLength;
    }

    /**
     * 车型,平板车
     * 
     * @return
     */
    public String getCarTypeName() {
        return carTypeName;
    }

    public String getGoodsSpecies() {
        return goodsSpecies;
    }

    public String getGoodsSpeciesName() {
        return goodsSpeciesName;
    }

    public String getGoodsType() {
        return goodsType;
    }

    public double getGoodsLoad() {
        return goodsLoad;
    }

    public double getGoodsSize() {
        return goodsSize;
    }

    public String getStartCity() {
        return startCity;
    }

    public void setStartCity(String startCity) {
        this.startCity = startCity;
    }

    public String getEndCity() {
        return endCity;
    }

    public void setEndCity(String endCity) {
        this.endCity = endCity;
    }

    public String getStartAreaAddress() {
        return startAreaAddress;
    }

    public void setStartAreaAddress(String startAreaAddress) {
        this.startAreaAddress = startAreaAddress;
    }

    public String getEndAreaAddress() {
        return endAreaAddress;
    }

    public void setEndAreaAddress(String endAreaAddress) {
        this.endAreaAddress = endAreaAddress;
    }

    public String getNeedCarType() {
        return needCarType;
    }

    public void setNeedCarType(String needCarType) {
        this.needCarType = needCarType;
    }

    /**
     * 收货人姓名
     * 
     * @return
     */
    public String getReceiptName() {
        return receiptName;
    }

    /**
     * 收货人姓名
     * 
     * @param receiptName
     */
    public void setReceiptName(String receiptName) {
        this.receiptName = receiptName;
    }

    /**
     * 收货人电话
     * 
     * @return
     */
    public String getReceiptPhone() {
        return receiptPhone;
    }

    /**
     * 收货人电话
     * 
     * @param receiptPhone
     */
    public void setReceiptPhone(String receiptPhone) {
        this.receiptPhone = receiptPhone;
    }

}
